<html>
<style>
  table, th, td {
     border: 1px solid rgb(200,200,200);
     border-collapse: collapse;
     }
  table {
     table-layout: fixed;
     width: 1900px;
     }
  td {
     overflow-x: auto;
     }
  th, td {
    padding: 15px;
    text-align: left;
    vertical-align: middle;
    }
  .comments {
    color: #292;
    }
  .source-code {
    color: #22F;
    }
  .interface-parent {
    color: #AAA;
    }
  .interface-name {
    color: #000;
    }
  .check-mark {
    text-align: center;
    }
</style>
<body>
<br>

<h1>DJI Mobile SDK UI Libraries 4.3.0 to 4.4.0 Differences</h1>

<br>

<h2>API changes</h2>

<table class="diff-table"><tr valign="top"><td width=15%><font color="#000">4.3.0 Parent and Name</font></td><td width=15%><font color="#000">4.3.0 Code</font></td><td width=15%><font color="#000">4.4.0 Parent and Name</font></td><td width=15%><font color="#000">4.4.0 Code</font></td><td width=3%><font color="#000">Parent</font></td><td width=3%><font color="#000">Name</font></td><td width=3%><font color="#000">Type</font></td><td width=3%><font color="#000">Param</font></td><td width=3%><font color="#000">Return</font></td></tr><tr valign="top"><td width=15%><span class="interface-parent">DULConnectionWidget.h: DULConnectionWidget.</span><span class="interface-name">isConnected</span></td><td width=15%><span class="source-code">@property IBInspectable BOOL isConnected</span></td><td width=15%><span class="interface-parent">DULConnectionWidget.h: DULConnectionWidget.</span><span class="interface-name">isConnected</span></td><td width=15%><span class="source-code">@property BOOL isConnected</span></td><td width=3%></td><td width=3%></td><td width=3%></td><td width=3%></td><td width=3%><div class="check-mark">X</div></td></tr><tr valign="top"><td width=15%><span class="interface-parent">DULWidget.h: DULWidget.</span><span class="interface-name">aspectRatio</span></td><td width=15%><span class="source-code">@property IBInspectable CGFloat aspectRatio</span></td><td width=15%><span class="interface-parent">DULWidget.h: DULWidget.</span><span class="interface-name">aspectRatio</span></td><td width=15%><span class="source-code">@property CGFloat aspectRatio</span></td><td width=3%></td><td width=3%></td><td width=3%></td><td width=3%></td><td width=3%><div class="check-mark">X</div></td></tr><tr valign="top"><td width=15%><span class="interface-parent">DULWidget.h: DULWidget.</span><span class="interface-name">interactionExpectationLevel</span></td><td width=15%><span class="source-code">@property IBInspectable DULWidgetInteractionExpectionLevel interactionExpectationLevel</span></td><td width=15%><span class="interface-parent">DULWidget.h: DULWidget.</span><span class="interface-name">interactionExpectationLevel</span></td><td width=15%><span class="source-code">@property DULWidgetInteractionExpectionLevel interactionExpectationLevel</span></td><td width=3%></td><td width=3%></td><td width=3%></td><td width=3%></td><td width=3%><div class="check-mark">X</div></td></tr></table><br>

<h2>APIs removed from 4.3.0</h2>

<table class="diff-table"><tr valign="top"><td width=15%><font color="#000">Parent and Name</font></td><td width=15%><font color="#000">Code</font></td></tr><tr valign="top"><td width=15%><span class="interface-parent">DULSDKModel.h: DULSDKModel.</span><span class="interface-name">registerDependentKeys:forWidget</span></td><td width=15%><span class="source-code">- (void)registerDependentKeys:(nonnull NSArray &lt;__kindof DJIKey *&gt; *)dependentKeys forWidget:(nonnull DULWidget *)widget</span></td></tr><tr valign="top"><td width=15%><span class="interface-parent">DULSDKModel.h: DULSDKModel.</span><span class="interface-name">unregisterDependentKeysForWidget</span></td><td width=15%><span class="source-code">- (void)unregisterDependentKeysForWidget:(nonnull DULWidget *)widget</span></td></tr><tr valign="top"><td width=15%><span class="interface-parent">DULWidgetProtocol.h: DULWidgetProtocol.</span><span class="interface-name">dependentKeys</span></td><td width=15%><span class="source-code">- (nonnull NSArray &lt;__kindof DJIKey *&gt; *)dependentKeys</span></td></tr><tr valign="top"><td width=15%><span class="interface-parent">DULWidgetProtocol.h: DULWidgetProtocol.</span><span class="interface-name">transformValue:forKey</span></td><td width=15%><span class="source-code">- (void)transformValue:(nonnull DULSDKModelValue *)value forKey:(nonnull __kindof DJIKey *)key</span></td></tr><tr valign="top"><td width=15%><span class="interface-parent">DULWidgetProtocol.h: DULWidgetProtocol.</span><span class="interface-name">update</span></td><td width=15%><span class="source-code">- (void)update</span></td></tr></table><br>

<h2>APIs added to 4.4.0</h2>

<table class="diff-table"><tr valign="top"><td width=15%><font color="#000">Parent and Name</font></td><td width=15%><font color="#000">Code</font></td></tr><tr valign="top"><td width=15%><span class="interface-parent">DULAircraftBatteryChecklistItem.h: DULAircraftBatteryChecklistItem.</span><span class="interface-name">initWithMinimumOperationalThreshold</span></td><td width=15%><span class="source-code">- (instancetype)initWithMinimumOperationalThreshold:(NSInteger)minimumOperationalThreshold</span></td></tr><tr valign="top"><td width=15%><span class="interface-parent">DULAircraftBatteryChecklistItem.h: DULAircraftBatteryChecklistItem.</span><span class="interface-name">minimumOperationalThreshold</span></td><td width=15%><span class="source-code">@property (nonatomic, assign) NSInteger minimumOperationalThreshold</span></td></tr><tr valign="top"><td width=15%><span class="interface-parent">DULContentView.h: </span><span class="interface-name">DULContentView</span></td><td width=15%><span class="source-code">@interface DULContentView : UIView</span></td></tr><tr valign="top"><td width=15%><span class="interface-parent">DULContentViewController.h: </span><span class="interface-name">DULContentViewController</span></td><td width=15%><span class="source-code">@interface DULContentViewController : UIViewController</span></td></tr><tr valign="top"><td width=15%><span class="interface-parent">DULContentViewController.h: DULContentViewController.</span><span class="interface-name">installMainView</span></td><td width=15%><span class="source-code">- (void)installMainView:(UIView *)mainView</span></td></tr><tr valign="top"><td width=15%><span class="interface-parent">DULFPVView.h: </span><span class="interface-name">DULFPVView</span></td><td width=15%><span class="source-code">@interface DULFPVView : DULContentView</span></td></tr><tr valign="top"><td width=15%><span class="interface-parent">DULFPVViewController.h: </span><span class="interface-name">DULFPVViewController</span></td><td width=15%><span class="source-code">@interface DULFPVViewController : DULContentViewController &lt;DULPIPVideoFeedWidgetDelegate&gt;</span></td></tr><tr valign="top"><td width=15%><span class="interface-parent">DULFPVViewController.h: DULFPVViewController.</span><span class="interface-name">fpvView</span></td><td width=15%><span class="source-code">@property (readonly, nonatomic, nullable) __kindof DULFPVView *fpvView</span></td></tr><tr valign="top"><td width=15%><span class="interface-parent">DULFPVViewController.h: DULFPVViewController.</span><span class="interface-name">isHUDInteractionEnabled</span></td><td width=15%><span class="source-code">@property BOOL isHUDInteractionEnabled</span></td></tr><tr valign="top"><td width=15%><span class="interface-parent">DULFPVView.h: DULFPVView.</span><span class="interface-name">alwaysShowDJICameraVideoFeed</span></td><td width=15%><span class="source-code">@property (nonatomic, assign) BOOL alwaysShowDJICameraVideoFeed</span></td></tr><tr valign="top"><td width=15%><span class="interface-parent">DULFPVView.h: DULFPVView.</span><span class="interface-name">startChecking</span></td><td width=15%><span class="source-code">- (void)startChecking</span></td></tr><tr valign="top"><td width=15%><span class="interface-parent">DULFPVView.h: DULFPVView.</span><span class="interface-name">stopChecking</span></td><td width=15%><span class="source-code">- (void)stopChecking</span></td></tr><tr valign="top"><td width=15%><span class="interface-parent">DULMapViewController.h: </span><span class="interface-name">DULMapViewController</span></td><td width=15%><span class="source-code">@interface DULMapViewController : DULContentViewController</span></td></tr><tr valign="top"><td width=15%><span class="interface-parent">DULMapViewController.h: DULMapViewController.</span><span class="interface-name">mapWidget</span></td><td width=15%><span class="source-code">@property (readonly, nonatomic) DULMapWidget *mapWidget</span></td></tr><tr valign="top"><td width=15%><span class="interface-parent">DULObjectProtocol.h: </span><span class="interface-name">DULObjectProtocol</span></td><td width=15%><span class="source-code">@protocol DULObjectProtocol &lt;NSObject&gt;</span></td></tr><tr valign="top"><td width=15%><span class="interface-parent">DULObjectProtocol.h: DULObjectProtocol.</span><span class="interface-name">dependentKeys</span></td><td width=15%><span class="source-code">- (nonnull NSArray &lt;__kindof DJIKey *&gt; *)dependentKeys</span></td></tr><tr valign="top"><td width=15%><span class="interface-parent">DULObjectProtocol.h: DULObjectProtocol.</span><span class="interface-name">transformValue:forKey</span></td><td width=15%><span class="source-code">- (void)transformValue:(nonnull DULSDKModelValue *)value forKey:(nonnull __kindof DJIKey *)key</span></td></tr><tr valign="top"><td width=15%><span class="interface-parent">DULObjectProtocol.h: DULObjectProtocol.</span><span class="interface-name">update</span></td><td width=15%><span class="source-code">- (void)update</span></td></tr><tr valign="top"><td width=15%><span class="interface-parent">DULSDKModel.h: DULSDKModel.</span><span class="interface-name">registerDependentKeys:forObject</span></td><td width=15%><span class="source-code">- (void)registerDependentKeys:(nonnull NSArray &lt;__kindof DJIKey *&gt; *)dependentKeys forObject:(nonnull id &lt;DULObjectProtocol&gt;)object</span></td></tr><tr valign="top"><td width=15%><span class="interface-parent">DULSDKModel.h: DULSDKModel.</span><span class="interface-name">unregisterDependentKeysForObject</span></td><td width=15%><span class="source-code">- (void)unregisterDependentKeysForObject:(nonnull id &lt;DULObjectProtocol&gt;)object</span></td></tr><tr valign="top"><td width=15%><span class="interface-parent">DULVisualizerWidget.h: </span><span class="interface-name">DULVisualizerWidget</span></td><td width=15%><span class="source-code">@interface DULVisualizerWidget : DULWidget</span></td></tr><tr valign="top"><td width=15%><span class="interface-parent">DULVisualizerWidget.h: DULVisualizerWidget.</span><span class="interface-name">clearVisualizer</span></td><td width=15%><span class="source-code">- (void)clearVisualizer</span></td></tr><tr valign="top"><td width=15%><span class="interface-parent">DULVisualizerWidget.h: DULVisualizerWidget.</span><span class="interface-name">followAircraft</span></td><td width=15%><span class="source-code">- (void)followAircraft:(BOOL)followAircraft</span></td></tr><tr valign="top"><td width=15%><span class="interface-parent">DULVisualizerWidget.h: DULVisualizerWidget.</span><span class="interface-name">showExpectedTimeLine</span></td><td width=15%><span class="source-code">- (void)showExpectedTimeLine:(NSArray &lt;DJIMissionControlTimelineElement&gt; * _Nonnull)elements</span></td></tr><tr valign="top"><td width=15%><span class="interface-parent">DULVisualizerWidget.h: DULVisualizerWidget.</span><span class="interface-name">showHomeOnVisualizer</span></td><td width=15%><span class="source-code">- (void)showHomeOnVisualizer:(BOOL)showHome</span></td></tr><tr valign="top"><td width=15%><span class="interface-parent">DULVisualizerWidget.h: DULVisualizerWidget.</span><span class="interface-name">showRealTimeFlightPath:withDeltaBufferBetweenPoints</span></td><td width=15%><span class="source-code">- (void)showRealTimeFlightPath:(BOOL)showRealtimeFlight withDeltaBufferBetweenPoints:(float)deltaBuffer</span></td></tr><tr valign="top"><td width=15%><span class="interface-parent">DULRTKStatusViewController.h: </span><span class="interface-name">DULRTKStatusViewController</span></td><td width=15%><span class="source-code">@interface DULRTKStatusViewController : UIViewController &lt;DULObjectProtocol&gt;</span></td></tr><tr valign="top"><td width=15%><span class="interface-parent">DULRTKStatusViewController.h: DULRTKStatusViewController.</span><span class="interface-name">rtkStatusController</span></td><td width=15%><span class="source-code">+ (instancetype)rtkStatusController</span></td></tr></table><p style="font-size:50%; color:white">fefa895 fa3be85 </p></body>
</html>

